home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d3 / dbmail.arc / ML0460.PRG < prev    next >
Text File  |  1988-06-18  |  5KB  |  200 lines

  1. NOTE ML0460 - MESSAGE TEXT ON HANDLING DUPLICATES    10/1/84
  2. ERASE
  3. @ 1,2 SAY 'U P D A T E   M A I L   L I S T   W I T H   S E L E C T E D   R E C O R D S'
  4. @ 3,10 SAY 'This  Routine Selects Records from the Current Mail List and'
  5. @ 4,10 say 'Adds the to a Target Mailing List.'
  6. @ 6,10 SAY 'Both  Lists  Must have been Created by this  System  or  the '
  7. @ 7,10 SAY 'Update  Routine  will Self Destruct (quietly) and Leave  You '
  8. @ 8,10 SAY 'with a Target File Badly in Need of Repairs.  A Word to  the '
  9. @ 9,10 SAY 'Wise  . . . .'
  10. @ 11,10 SAY 'The  Target Mail List may Easily be Built Using Option 1  on '
  11. @ 12,10 SAY 'this Menu, Create a New Mail List File. The Target Mail List '
  12. @ 13,10 SAY 'may  also  be  an Existing Mail List File that You  Wish  to '
  13. @ 14,10 SAY 'Update with Data from Another List.'
  14. @ 16,10 SAY 'The  Target Mail List May also be used as a Device to  Simu-'
  15. @ 17,10 SAY 'late  the  Parentheses  Function that Is  Missing  from  the '
  16. @ 18,10 SAY 'Boolean Select Menu Option. Briefly, the Target Mail List is '
  17. @ 19,10 SAY 'repeatedly  updated for Selections off the Master  List.  In '
  18. @ 20,10 SAY 'this case,  duplicates would,  in all likelihood,  be copied '
  19. @ 21,10 SAY 'onto the Target Mail List.'
  20. WAIT
  21. ERASE
  22. @ 3,2 SAY 'U P D A T E   M A I L   L I S T   W I T H   S E L E C T E D   R E C O R D S'
  23. @ 6,10 SAY 'The  User has Several Options on the Handling  of  Duplicate '
  24. @ 7,10 SAY 'Records on the Target Mail List:'
  25. @ 9,10 SAY '     1. Do NOT  Add Selected Records that have the Same  Rec '
  26. @ 10,10 SAY '          Id as a Record on the Target Mail List;'
  27. @ 12,10 SAY '     2. Assign   NEW  Rec  Id s  to  Selected  Records  with '
  28. @ 13,10 SAY '          Duplicate Rec Id s;'
  29. @ 15,10 SAY '     3. Do Not  CHECK  for Duplicate Rec Id s.  This  is  an '
  30. @ 16,10 SAY '          Extremely Dangerous Option to Choose. For Example, '
  31. @ 17,10 SAY '          the  Second Record with a Duplicate Rec  Id  would '
  32. @ 18,10 SAY '          Inaccessible  through  the Enter/Update Option  on '
  33. @ 19,10 SAY '          the Main Menu.'
  34. STORE 1    TO DDEL
  35. STORE F    TO EXIT
  36. DO WHILE .NOT.EXIT
  37. CLEAR GETS
  38. @ 21,10 SAY 'Enter Selection for Handling Duplicate Rec Id s' GET DDEL PICTURE '99'
  39. READ
  40. STORE DDEL>0 .AND. DDEL<4    TO EXIT
  41. IF .NOT.EXIT
  42.     @ 23,15 SAY 'Response Must Be 1, 2 or 3. Please Reenter.'
  43.     ENDIF
  44. ENDDO
  45. ERASE
  46. @ 3,2 SAY 'U P D A T E   M A I L   L I S T   W I T H   S E L E C T E D   R E C O R D S'
  47. @ 7,10 SAY 'Enter Name of Target Mail List to Receive Selected Records.'
  48. STORE '                    '    TO FIL
  49. @ 8,20 GET FIL PICTURE '!!!!!!!!!!!!!!!!!!!!'
  50. READ
  51. CLEAR GETS
  52. STORE TRIM(FIL)    TO FIL
  53. IF FIL=' '.AND. LEN(FIL)=1
  54.     RELEASE DDEL,FIL
  55.     RETURN
  56.     ENDIF
  57. IF LEN(FIL)-@(':',FIL)<8
  58.     ?
  59.     ? 'PREPARE DEVICE WITH TARGET LIST FILE FOR PROCESSING. Press any key when ready.'
  60.     WAIT
  61.     RESET
  62.     STORE FILE('&FIL..DBF')    TO XXD
  63.     IF .NOT.XXD
  64.         ?
  65.         ? 'TARGET LIST FILE &FIL NOT FOUND. Do you want to Create it at this Time?.'
  66.         ACCEPT 'Enter Response (Y/N) ' TO RESP
  67.         IF !(RESP)='Y'
  68.             ?
  69.             ACCEPT 'ENTER DESCRIPTION OF TARGET FILE' TO DESCR
  70.             USE ML0400
  71.             COPY TO &FIL
  72.             USE &FIL
  73.             APPEND BLANK
  74.             REPLACE RECID WITH 0;
  75.                 INST WITH DESCR
  76.             DELETE
  77.             INDEX ON RECID TO &FIL
  78.             USE
  79.             ? 'NEW TARGET MAILING LIST FILE &FIL INITIALIZED.'
  80.         ELSE
  81.             RELEASE XXD,FIL,DDEL,RESP
  82.             RETURN
  83.             ENDIF
  84.     ELSE
  85.         IF .NOT.FILE('&FIL..NDX')
  86.             ?
  87.             ? 'INDEXING TARGET MAILING LIST FILE. Please wait.'
  88.             SET TALK ON
  89.             USE &FIL
  90.             INDEX ON RECID TO &FIL
  91.             SET TALK OFF
  92.             USE
  93.             ENDIF
  94.         ENDIF
  95. ELSE
  96.     ?
  97.     ? 'TARGET MAILING LIST FILE NAME MORE THAN 7 CHARACTERS IN LENGTH.'
  98.     ? '    Press any key to continue.'
  99.     WAIT
  100.     RELEASE FIL,DDEL,XXD
  101.     RETURN
  102.     ENDIF
  103. ENDCASE
  104.  
  105. USE &FDEV
  106. IF OPT=1
  107.     DO ML0201
  108.     ENDIF
  109. IF OPT=2
  110.     DO ML0202
  111.     ENDIF
  112. IF OPT=3
  113.     DO ML0203
  114.     IF .NOT.FILE('MLSUB1.DBF')
  115.         DO ML0441
  116.         RETURN
  117.         ENDIF
  118.     ENDIF
  119.  
  120. SELECT PRIMARY
  121. USE MLSUB1
  122. GOTO BOTTOM
  123. ?
  124. ? #
  125. ?? ' RECORDS SELECTED.'
  126.  
  127. IF #=0
  128.     ?
  129.     ? 'NO Records Selected for Update. Press Any Key to Continue.'
  130.     DO ML0441
  131.     WAIT
  132.     RETURN
  133.     ENDIF
  134.  
  135. ?
  136. ACCEPT 'Do you wish to continue? (Y/N) ' TO RESP
  137. IF !(RESP)='N'
  138.     DO ML0441
  139.     RETURN
  140.     ENDIF
  141.  
  142. IF DDEL<3
  143.  
  144. SELECT SECONDARY
  145. USE &FIL INDEX &FIL
  146. GOTO BOTTOM
  147. STORE RECID+1    TO NID
  148. SELECT PRIMARY
  149. GOTO TOP
  150. ERASE
  151. @ 10,10 SAY 'Checking Selected Records for Duplicate Rec Id s.'
  152. @ 14,10 SAY '   0 Selected Records Processed.'
  153.  
  154. DO WHILE .NOT.EOF
  155. STORE STR(RECID,4)    TO KEY
  156. SELECT SECONDARY
  157. FIND &KEY
  158. IF #>0
  159.     STORE *    TO DREC
  160.     SELECT PRIMARY
  161.     IF DDEL=1
  162.         IF DREC
  163.             SELECT SECONDARY
  164.             RECALL
  165.             SELECT PRIMARY
  166.             ENDIF
  167.         DELETE
  168.     ELSE
  169.         REPLACE RECID    WITH NID
  170.         STORE NID+1    TO NID
  171.         ENDIF
  172.     ENDIF
  173. SELECT PRIMARY
  174. @ 14,10 SAY # USING '9999'
  175. SKIP
  176. ENDDO
  177.  
  178.     ENDIF {ddel<3}
  179. SELECT SECONDARY
  180. USE
  181. SELECT PRIMARY
  182. USE &FIL
  183. @ 17,10 SAY 'Updating Target File with Selected Records.'
  184. SET TALK ON
  185. APPEND FROM MLSUB1
  186. @ 17,10 SAY 'Update complete.  Reindexing Target File.    '
  187. INDEX ON RECID TO &FIL
  188. SET TALK OFF
  189. USE
  190. DELETE FILE MLSUB1
  191. RELEASE XXD,FIL,DDEL
  192. RETURN
  193. 
  194. INDEX ON RECID TO &FIL
  195. SET TALK OFF
  196. USE
  197. DELETE FILE MLSUB1
  198. RELEASE XXD,FIL,DDEL
  199. RETURN
  200.